<#include "/java_copyright.include">
<#assign className = table.className>
<#assign classNameLower = className?uncap_first>
package ${basePackage}.service.${module};

import ${basePackage}.po.${module}.${className}PO;
import ${basePackage}.common.base.R;

import java.util.List;

/**
<#include "/java_description.include">
 */
public interface ${className}Service {

	/**
     * 通过id查询单个对象
     */
    ${className}PO queryById(${className}PO params);

    /**
     * 通过id查询单个对象
     */
    ${className}PO queryById(Integer id);

    /**
     * 通过id查询单个对象
     */
    void queryById(${className}PO params, R<${className}PO> r);

    /**
     * 通过条件查询单个对象
     */
    ${className}PO queryOne(${className}PO params);

    /**
     * 通过条件查询单个对象
     */
    void queryOne(${className}PO params, R<${className}PO> r);

    /**
     * 查询全部
     */
    List<${className}PO> queryList(${className}PO params);

    /**
     * 查询全部(分页)
     */
    R<List<?>> queryPageList(${className}PO params);

    /**
     * 查询总数
     */
    int queryCount(${className}PO params);

    /**
     * 新增
     */
    R<?> insert(${className}PO params);

    /**
     * 批量新增
     */
    R<?> insertBatch(List<${className}PO> list);

    /**
     * 更新
     */
    R<?> update(${className}PO params);

    /**
     * 删除
     */
    R<?> updateDel(${className}PO params);
}
